Some utility networks, such as RF-based Neighborhood Area Networks (NANs) used for Advance Metering Infrastructure (AMI) or Smart Grid communication use a proprietary protocol stack and layered or geographic routing. The nodes of such a network may include utility meters, utility servers and routers. In some networks, the boundary between an application that runs on a node in a proprietary network and a proprietary protocol stack may not be well defined, i.e., the application may not be independent of the underlying protocol stack and may require information from the underlying protocol stack in order to process a packet. This lack of modularity may become a problem when a network with nodes that use a proprietary protocol stack needs to become IP (Internet Protocol) compliant. For example, there may be a problem when an application designed to operate on a non-IP protocol stack requires information from a lower layer, but the information is not present in an IP header, or when an application or other software module at an upper layer processes packets received from a lower layer of a proprietary protocol stack.
One way to allow a non-IP node to communicate in an IP network is to convert the node to an IP compliant node. Converting an application which is designed to operate on a non-IP protocol stack to an IP protocol stack typically requires changes to the logic of the application, i.e., that the application is re-developed for the IP protocol stack. This conversion is likely to be both time consuming and costly. Another way to allow a non-IP node to communicate in an IP network is to use tunneling. Tunneling encapsulates a first protocol within a second protocol to allow a packet formed using the first protocol to be communicated via a network that uses the second protocol. However, tunneling requires additional processing power, additional memory, and additional headers, which reduces over-the-air efficiency.
Thus, there is a need for a better way of adapting an application designed for a non-IP protocol stack to an IP protocol stack.